A Few Thoughts On Cross-Platform Help

by Tom Nally

Steelweaver52@aol.com


Home

TCP/IP Tutorial

Rich Text Format Help

Creating Graphics for Games

Automatic Menu

Humble CAD Viewer

Demo: Aligning Numbers

Thoughts On Cross-Platform Help

Submission Guildlines

Newsletter Help

Index

LB Cross-Platform Applications On The Horizon

It was only a few weeks ago that Carl made this exciting announcement:

This is an official announcement of my intention to begin working on a version of Liberty BASIC for the Macintosh and for Linux after the release of Liberty BASIC v4.0. A brand new iBook was purchased last week for this purpose, and I've signed on a codeveloper to help me with this work.

Just thought you all would be excited to hear it!

Immediately, this news activated the imaginations of LB users. Some volunteered for immediate testing. Others thought of their own existing programs which they could now share with their friends who are MacOS users. Others probably imagined the possibility of new income streams opening as the millions of Linux and Mac users become potential customers.

While others were pondering those issues, the issue that came to my mind was application Help. Since Liberty BASIC will be cross platform--or at least that's Carl's intention--wouldn't it be great if we had a Help System that was cross-platform also?

What is Cross-Platform Help (XPH)?

For right now, let's define "Cross-Platform Help" this way:

"Cross-Platform Help" is a help-authoring application that will allow the software developer to create a help application (or at the very least, help files) for any and all the platforms on which Liberty BASIC will be available.

Ideally, this authoring application would have one version for Windows, a version for Linux, and a Version for Mac. But XPH for Windows would operate so similarly to XPH for MacOS and XPH Linux that the help author would only need to learn XPH on a single platform in order to be fully skilled on the other platforms.

Futher, the help-author would be able to use XPH on any of the three platforms to produce help files for any of the other three platforms. And, the help files produced by XPH would have a similar look-and-feel regardless of hardware platform.

Why Would Cross-Platform Help Be Desirable?

XPH would be desirable for two reasons:

  1. It will allow the Liberty BASIC developer to bring his applications to other platforms quickly, without having to learn any help authoring systems native to those other platforms; and

  2. XPH would manifest the multi-platform LB philosophy already expressed by Carl: write on one platform, deploy on any platform.

Current Cross-Platform Help Alternatives

Below are some of the XPH alternatives that I've identified. Rather than thinking about these as XPH applications, it would probably be more accurate to think about them as XPH categories.

  1. HTML. This is actually a broad category which holds many sub-alternatives. HTML format help may be the best alternative so far because just about every computer in the world has a browser which reads and renders HTML. More about the HTML sub-alternatives will be discussed elsewhere.

  2. Adobe PDF. These documents are nicely rendered, and are readable by a large variety of hardware/OS platforms. However, the PDF format doesn't seem to be as flexible for help documents as hypertext.

  3. JavaHelp. The JavaHelp Viewer produces nice looking documents. But do we really want to learn another programming language just to create help files?

  4. Plain text. I often use plain text for my mini- and micro-applications, and will continue to do so. But I'm just a hobbyist, and plain text certainly lacks the richness that most computer users want.

  5. Native Liberty BASIC Help. By this I mean a help system written in the Liberty BASIC language using native Liberty BASIC Controls. I've had some success with this type of system (Liberty BASIC Simple Help), and Jim Brossman recently developed an improved version using rich text. I think LB native help has potential, but it needs development and maturation.

HelpBlocks currently provides cross platform help

By HTML sub-alternatives, I mean help-authoring applications that use HTML format as a foundation. One real, live ready-right-now XPH is [HelpBlocks] by Julian Smart. There is a HelpBlocks version for Windows, MacOS and Linux. HelpBlocks will create output in the standard .CHM format for Windows. But it can also output help files in a format readable by it's own viewer, which is very similar to Microsoft's .CHM application. A single user license for HelpBlocks costs $50.00.

Another HTML-based tools for creating help is HelpScribble by JGSoft. HelpScribble provides a cross-platform alternative by allowing the help author to export her files to html format. A single user license for HelpScribble is $99.

Speculation on the Near Future of XPH

Assuming Liberty BASIC does indeed go cross-platform, I expect that the first help documents for Liberty BASIC applications will indeed be HTML-based. HTML is attractive, it is fairly easy to author, and it can be read by all platforms.

Toward this objective, it looks to me like Jerry Muelver's WikiWriter is very nicely positioned at this time. Jerry describes WikiWriter as being a capable tool for the production of books, manuals, tutorials, courseware and project documentation. The editors of the Liberty BASIC newsletter tend to agree with Jerry: we've used WikiWriter to produce every issue of the Newsletter since NL105. All it takes is one creative user to provide a WikiWriter template for a user manual, and it's off to the races.

At this time, it might also be unwise to discount Native Liberty BASIC Help. After all, Liberty BASIC is a general-purpose programming application. Hypertext linking may never be in the cards for Native Liberty BASIC Help, but I'm disinclined to underestimate the cleverness of LB programmers. There may be alternate ways to create links between help documents without hypertext.

The future, of course, will tell. My nickel says the near future belongs to HTML.

Nally Steelweaver52@aol.com